home *** CD-ROM | disk | FTP | other *** search
/ MacWorld: Super Stacks! / Macworld CD.iso / HyperCard Archives / International / French v1.2.5.1 / Piles principales / Téléphone / stack.txt < prev   
Text File  |  1989-09-15  |  7KB  |  257 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2152
  12. -- card count: 1
  13. -- first card id: 3103
  14. -- list block id: 2607
  15. -- print block id: 51
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 20256 bytes
  21. -- stack block size: 8192 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x01258000
  24. -- modified by hypercard version: 0x01258000
  25. -- opened by hypercard version: 0x01258000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x0000220000002200
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0xCC003300CC003300
  30. -- patterns[4]: 0xCC883322CC883322
  31. -- patterns[5]: 0xEE88BB22EE88BB22
  32. -- patterns[6]: 0xEECCBB33EECCBB33
  33. -- patterns[7]: 0xFFCCFF33FFCCFF33
  34. -- patterns[8]: 0xFFEEFFBBFFEEFFBB
  35. -- patterns[9]: 0xFFFFFFBBFFFFFFBB
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- copyright Apple Computer France
  69. -- Olivier Malandra
  70.  
  71. on idle
  72.   if the short time ‚↠field "Heure"
  73.   then put the short time into field "Heure"
  74.   pass idle
  75. end idle
  76.  
  77. on openStack
  78.   global EtatMessageBox
  79.   put the visible of message box into EtatMessageBox
  80.   push recent card
  81.   put empty
  82. end openStack
  83.  
  84. on closeStack
  85.   global EtatMessageBox
  86.   set the visible of message box to EtatMessageBox
  87. end closeStack
  88.  
  89. on dial cha√Æne
  90.   repeat with i = 1 to 4
  91.     send closeField to field i
  92.   end repeat
  93.   global num√©ro,num√©roEntier
  94.   put cha√Æne into num√©ro
  95.   if num√©ro is empty then exit dial
  96.   analyseNum√©ro
  97.   if the hilite of button "Non" is true then
  98.     num√©roter field "Ext√©rieur" & num√©ro
  99.     exit dial
  100.   end if
  101.   put num√©ro into num√©roEntier
  102.  
  103.   if first char of num√©ro = first char of field "Ext√©rieur"
  104.   then delete first char of num√©ro
  105.  
  106.   if (the length of num√©ro = 2) or (the length of num√©ro = 8) then
  107.     num√©roter field "Ext√©rieur" & num√©ro
  108.     exit dial
  109.   end if
  110.  
  111.   if the length of num√©ro < 8 then
  112.     num√©roter num√©ro
  113.     exit dial
  114.   end if
  115.  
  116.   if char 1 to 2 of num√©ro = "19" then
  117.     composerInternational
  118.     exit dial
  119.   end if
  120.  
  121.   if char 1 to 2 of num√©ro = "16" then
  122.     if the length of num√©ro = 9 then
  123.       parisProvince
  124.       exit dial
  125.     end if
  126.     delete char 1 to 2 of num√©ro
  127.     if the length of num√©ro = 8 then
  128.       num√©roter field "Ext√©rieur" & field "Paris-Province" & num√©ro
  129.       exit dial
  130.     else if (the length of num√©ro = 9 and first char of num√©ro = 1) then
  131.       delete first char of num√©ro
  132.       num√©roter field "Ext√©rieur" & field "Province-Paris" & num√©ro
  133.       exit dial
  134.     else
  135.       num√©roParD√©faut
  136.       exit dial
  137.     end if
  138.   end if
  139.  
  140.   if the length of num√©ro > 9 then
  141.     composerInternational
  142.     exit dial
  143.   end if
  144.  
  145.   if (first char of num√©ro = "1") then
  146.     parisProvince
  147.     exit dial
  148.   end if
  149.  
  150. end dial
  151.  
  152. on parisProvince
  153.   global num√©ro
  154.   delete first char of num√©ro
  155.   if the length of num√©ro <> 8 then
  156.     num√©roParD√©faut
  157.     exit parisProvince
  158.   else
  159.     answer "T√©l√©phoner de la Province vers Paris ?" with "Non" or "Oui"
  160.     if it is "Oui"
  161.     then num√©roter field "Ext√©rieur" & field "Province-Paris" & num√©ro
  162.   end if
  163. end parisProvince
  164.  
  165. on composerInternational
  166.   put "Recherche du pays en cours..."
  167.   set lockMessages to true
  168.   set lockScreen to true
  169.   global num√©ro
  170.   if char 1 to 2 of num√©ro = "19" then delete char 1 to 2 of num√©ro
  171.   push this card
  172.   go to stack "Codes r√©gionaux"
  173.   find char 1 of num√©ro in field "Indicatif pays"
  174.   if the result is empty then
  175.     if char 2 of field "Indicatif pays" is not empty then
  176.       find char 1 to 2 of num√©ro in field "Indicatif pays"
  177.       if the result is empty then
  178.         if char 3 of field "Indicatif pays" is not empty then
  179.           find char 1 to 3 of num√©ro in field "Indicatif pays"
  180.           if the result is "not found" then
  181.             num√©roParD√©faut
  182.             exit composerInternational
  183.           else
  184.             num√©roPays
  185.             exit composerInternational
  186.           end if
  187.         else
  188.           num√©roPays
  189.           exit composerInternational
  190.         end if
  191.       else
  192.         num√©roParD√©faut
  193.         exit composerInternational
  194.       end if
  195.     else
  196.       find char 2 to 4 of num√©ro in field "Indicatif r√©gional"
  197.       num√©roPays
  198.       exit composerInternational
  199.     end if
  200.   else
  201.     num√©roParD√©faut
  202.     exit composerInternational
  203.   end if
  204. end composerInternational
  205.  
  206. on num√©roParD√©faut
  207.   global num√©ro,num√©roEntier
  208.   answer "Le num√©ro ""e&num√©roEntier"e& " n'a pas √©t√© reconnu." with "Renoncer" or "Composer"
  209.   if it is "Renoncer" then
  210.     put empty
  211.     pop card
  212.     set lockscreen to false
  213.     set lockmessages to false
  214.     exit num√©roParD√©faut
  215.   else
  216.     put empty
  217.     pop card
  218.     num√©roter field "Ext√©rieur" & num√©ro
  219.   end if
  220. end num√©roParD√©faut
  221.  
  222. on num√©roPays
  223.   global num√©ro
  224.   answer "pays de destination : "&field "Pays"&" ?" with "Non" or "Oui"
  225.   pop card
  226.   set lockscreen to false
  227.   set lockmessages to false
  228.   put empty
  229.   if it is "Oui"
  230.   then num√©roter field "Ext√©rieur" & field "International" & num√©ro
  231. end num√©roPays
  232.  
  233. on analyseNum√©ro
  234.   global num√©ro
  235.   repeat with index = the length of num√©ro down to 1
  236.     if char index of num√©ro is not in "0123456789#*"
  237.     then delete char index of num√©ro
  238.   end repeat
  239. end analyseNum√©ro
  240.  
  241. on num√©roter num√©ro
  242.   put "Composition du : " & num√©ro
  243.  
  244.   if hilite of bkgnd button "Sans modem"
  245.   then send "dial" && quote & num√©ro & quote to HyperCard
  246.  
  247.   if hilite of bkgnd button "modem (tonalit√©)"
  248.   then send "dial" && quote & num√©ro & quote && "with modem" && quote & "ATS0=0DT" & quote to HyperCard
  249.  
  250.   if hilite of bkgnd button "modem (impulsions)"
  251.   then send "dial" && quote & num√©ro & quote && "with modem" && quote & "ATS0=0DP" & quote to HyperCard
  252.  
  253.   wait 3 seconds
  254.   put empty
  255. end num√©roter
  256.  
  257.